package Modelo;

import java.util.*;

public class Codigo {
    /*Atributos de la clase:
    codigo: Recibe el código que sera modificado y retornado para su traducción al español
    morse: sera la código modificado para traducir.
    tamano: se utiliza para rescatar el tamaño del código una vez modificado para su traducción.*/

    private String codigo;
    private int tamano = 0;
    private String[] morse;

    //Constructores
    public Codigo() {
    }
//Actualiza el atributo y llama al método que modificara el código original.

    public Codigo(String codigo) {
        this.codigo = codigo;
        this.separarCodigo();
    }

    /*Este método modificara el código original para su traducción. La función StringTokenizer se ocupa para separar la frase
    en cadenas de textos más pequeñas, que son las letras codificadas en Morse y que van siendo guardadas en el array morse.
    Se utiliza el metodo replace, para rescatar los espacios de la frase en español*/
    public String[] separarCodigo() {

        this.codigo = this.codigo.replace("   ", " * ");
        StringTokenizer tokens = new StringTokenizer(this.codigo);
        this.tamano = tokens.countTokens();
        this.morse = new String[this.tamano];
        int i = 0;
        while (tokens.hasMoreTokens()) {
            this.morse[i] = (String) (tokens.nextToken());
            i++;
        }
        return this.morse;
    }

    //Método para retornar el código modificado, para su traducción.
    public String[] getMorse() {
        return this.morse;
    }

//Método para retornar el código, para su validación.
    public String getCodigo() {

        return this.codigo;
    }
}

